<?php

error_reporting(E_ALL);

/**
 * HawkModel - DAO.php
 *
 * $Id: DAO.php,v 1.1.1.1 2007-10-02 13:32:35 rainx Exp $
 *
 * This file is part of HawkModel.
 *
 * Automatic generated with ArgoUML 0.22 on 06.11.2006, 11:26:02
 *
 * @author RainX
 * @version Hawk Data acess interface
 */

if (0 > version_compare(PHP_VERSION, '5')) {
    die('This file was generated for PHP 5');
}

/* user defined includes */
// section 127-0-0-1--eb6dfd2:10ea17e331d:-8000:00000000000007EB-includes begin
// section 127-0-0-1--eb6dfd2:10ea17e331d:-8000:00000000000007EB-includes end

/* user defined constants */
// section 127-0-0-1--eb6dfd2:10ea17e331d:-8000:00000000000007EB-constants begin
// section 127-0-0-1--eb6dfd2:10ea17e331d:-8000:00000000000007EB-constants end

/**
 * Short description of class DAO
 *
 * @access public
 * @author RainX
 * @version Hawk Data acess interface
 */
interface DAO
{
    // --- OPERATIONS ---

    /**
     * Short description of method getByCol
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param array
     * @param array
     * @return array
     */
    public function getByCol($keys, $cols);

    /**
     * Short description of method setByCol
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param array
     * @param array
     * @return int
     */
    public function setByCol($keys, $cols, $setKey, $setValue);

    /**
     * Short description of method rmByCol
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param array
     * @param array
     * @return int
     */
    public function rmByCol($keys, $cols);

    /**
     * Short description of method add
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param VO
     * @return int
     */
    public function add( VO $obj);

    /**
     * Short description of method sql
     *
     * @access public
     * @param $sql the sql to run 
     * @return the result of PDO->query 
     */
    public function sql($sql);

    /**
     * Short description of method getOneBy
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param string
     * @param string
     * @return VO
     */
    public function getOneBy($key, $val);

    /**
     * Short description of method getAll
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @return array
     */
    public function getAll();

    /**
     * Short description of method getList
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param string
     * @return array
     */
    public function getList($key);

    /**
     * Short description of method getKeyValue
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param string
     * @param string
     * @return array
     */
    public function getKeyValue($key, $value);

} /* end of interface DAO */

?>
